
1.可变参数与关键字参数
def f2(a,b,c=0,*,d,**kw):
	print('a=',a,'b=',b,'c=',c,'d=',d,'args=',args,'kw=',kw)

args=(1,2,3)
kw={'d':'ddd','kw':'kwtwo'}
f2(*args,**kw)
# a= 1 b= 2 c= 3 d= ddd args= (1, 2, 3) kw= {'kw': 'kwtwo'}

2.切片
 L = list(range(100))

# L=list(range(100))
print(L[:10:2])

r=[]
for x in range(5):
	r.append(L[2*x])

rr=[L[2*x] for x in range(5)]

3.列表生成式
def SetLower(x):
	if isinstance(x,str):
		return x.lower()
	return x

L1 = ['Hello', 'World', 18, 'Apple', None]
L2=[ SetLower(x) for x in L1]
print(L2)
L2=[ x.lower() for x in L1 if isinstance(x,str)]
print(L2)

4 生成器
 L = [x * x for x in range(10)]
 g = (x * x for x in range(10))

'''
凡是可作用于for循环的对象都是Iterable类型；

凡是可作用于next()函数的对象都是Iterator类型，它们表示一个惰性计算的序列；

集合数据类型如list、dict、str等是Iterable但不是Iterator，不过可以通过iter()函数获得一个Iterator对象。

Python的for循环本质上就是通过不断调用next()函数实现的

'''

5 装饰器的使用，对函数现在功能的扩展(注解的方式)
需要注意的是：需要对wrapper一层添加@functool.warps(func)

6 偏函数的原理以及使用方式 functool.partial

7 关于 _xxx __xxx这种函数是为了隐藏某些不公开的方法进行的封装和抽象

